/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package module;

import com.google.inject.*;
import model.MM;
import model.MachineManager;
import model.RealMachine;
import model.TSM;
import model.TestScriptManager;
import model.provider.RealMachineProvider;
import model.VMMachine;
import model.provider.VMMachineProvider;

/**
 *
 * @author think
 */
public class MyModule extends AbstractModule{
//    private String commandCmd;
//
//    public MyModule(String cmd){
//        this.commandCmd = cmd;
//    }


    @Override
    protected void configure() {

//        bind(CommandFactory.class).toProvider(FactoryProvider.newFactory(CommandFactory.class, Command.class));
//        bind(Executable.class).annotatedWith(Names.named("command")).to(Command.class);
//        bind(Executable.class).annotatedWith(Names.named("pipeline")).to(PipeLineCommand.class);
//        bind(String.class).toProvider(new CommandProvider(this.commandCmd));
        bind(TSM.class).to(TestScriptManager.class);
        bind(MM.class).to(MachineManager.class);
        bind(VMMachine.class).toProvider(VMMachineProvider.class);
        bind(RealMachine.class).toProvider(RealMachineProvider.class);
    }

}
